Today, the topic will be about Git and about version control systems in general.
I have the slides already put online because in the slides I present there are no reference
slides.
So I will not list all the commands that are available with Git.
If you know Git, there are a lot of different options and things you can do.
And those reference slides are included in the slide set that you can download at this
URL.
So they are down in the list.
Whether it's for today's date, you can already download the slides.
Some other remark, it's only important for the reference slides.
Starting with version 2.23, Git really consolidated and cleaned up their interface.
And some commands are only valid for Git newer than 2.23.
And 2.23 is quite recent, just to give you an idea, on CSHPC, the standard Git that's
in the path is 1.17.
And on EMI, it's, I think, 2.2 or something.
So just that you are aware of that.
Okay, so let's start.
So the first question that arises is, well, what is this good for?
Why do I need a version control system?
And well, the reason is that software development is inherently hard.
So you have to keep control about a lot of things.
And it's messy for a lot of people.
They experience this as a very insecure and hazardous undertaking.
And one aspect of software engineering, that's the art or the craft to write software in
a professional way, is software configuration management, and software configuration management,
again, consists of several different things.
And one of them is what is called, I have this from Wikipedia, of course, identification,
control status, and auditing of configuration.
And this is the topic of today.
So version control systems, of course, there are a lot of other aspects.
Maybe we talk about this in another HPC Cafe talk.
And today will be about version control systems.
So what are the benefits?
So why should you do that?
And again, this is a list.
I will break this down.
So first is change management.
You want to know who changed what when.
This is especially important if several people collaborate or develop together on a single
software project, or when the development team is spread out, they are not in a single
place.
Then you want to archive all states.
You want to have access to all previous versions and want to be able to look at previous versions.
This is especially important for tracking if something went wrong.
You want to be able to track where this came from and what did you change when.
Then reconstruction of previous file states.
If you mess something up, you want to be able to go back to an old, safe, and state with
some guaranteed properties.
Next, coordination of access of multiple persons.
When a lot of people develop on the same project, you need some kind of synchronization and
Presenters
Zugänglich über
Offener Zugang
Dauer
01:22:11 Min
Aufnahmedatum
2021-02-09
Hochgeladen am
2021-02-10 15:58:40
Sprache
en-US